//package com.cheyun.netsalev3.utils
//
//import android.content.BroadcastReceiver
//import android.content.Context
//import android.content.Intent
//import android.os.Bundle
//import android.text.TextUtils
//
//
//import com.cheyun.netsalev3.bean.login.LoginParam
//import com.cheyun.netsalev3.utils.api.ApiClient
//import com.cheyun.netsalev3.view.ClueListActivity
//import com.cheyun.netsalev3.view.ReceptionActivity
//import com.cheyun.netsalev3.view.defeatdetails.DefeatDetailsActivity
//import com.google.gson.Gson
//
//import org.json.JSONException
//import org.json.JSONObject
//
//import cn.jpush.android.api.JPushInterface
//import com.cheyun.netsalev3.utils.api.ApiCallback
//import com.cheyun.netsalev3.utils.api.ApiException
//import com.cheyun.netsalev3.utils.api.BaseResp
//import com.cheyun.netsalev3.view.CuesAllocationActivity
//import com.cheyun.netsalev3.view.PassengerReceptionActivity
//import com.jeremyliao.liveeventbus.LiveEventBus
//import io.reactivex.android.schedulers.AndroidSchedulers
//import io.reactivex.schedulers.Schedulers
//
//
///**
// * 自定义接收器
// *
// *
// * 如果不定义这个 Receiver，则：
// * build) 默认用户会打开主界面
// * 2) 接收不到自定义消息
// */
//class MyReceiver : BroadcastReceiver() {
//
//    override fun onReceive(context: Context, intent: Intent) {
//        try {
//            val bundle = intent.extras
//            Logger.d(TAG, "[MyReceiver] onReceive - " + intent.action + ", extras: " + printBundle(bundle!!))
//
//            when {
//                JPushInterface.ACTION_REGISTRATION_ID == intent.action -> {
//                    val regId = bundle.getString(JPushInterface.EXTRA_REGISTRATION_ID)
//                    Logger.d(TAG, "[MyReceiver] 接收Registration Id : " + regId!!)
//                    //send the Registration Id to your server...
//
//                }
//                JPushInterface.ACTION_MESSAGE_RECEIVED == intent.action -> {
//                    Logger.d(TAG, "[MyReceiver] 接收到推送下来的自定义消息: " + bundle.getString(JPushInterface.EXTRA_MESSAGE)!!)
//                    processCustomMessage(context, bundle)
//
//                }
//                JPushInterface.ACTION_NOTIFICATION_RECEIVED == intent.action -> {
//                    Logger.d(TAG, "[MyReceiver] 接收到推送下来的通知")
//                    val notifactionId = bundle.getInt(JPushInterface.EXTRA_NOTIFICATION_ID)
//                    Logger.d(TAG, "[MyReceiver] 接收到推送下来的通知的ID: $notifactionId")
//                    //发送通知 工作台刷新
//                    LiveEventBus.get().with("notice").postValue("通知")
//
//                }
//                JPushInterface.ACTION_NOTIFICATION_OPENED == intent.action -> {
//                    Logger.d(TAG, "[MyReceiver] 用户点击打开了通知")
//                    val json = JSONObject(bundle.getString(JPushInterface.EXTRA_EXTRA))
//                    val id = json.optInt("id")
//                    val noticeId = json.optInt("noticeId")
//                    val type = json.optString("type")
//
//                    var uid = MySharedPreferences.getLoginData()?.member?.uid ?: 0
//                    ApiClient.getInstance().noticeNum(uid, noticeId)
//                            .subscribeOn(Schedulers.io())
//                            .subscribeOn(AndroidSchedulers.mainThread())
//                            .subscribe(object : ApiCallback<BaseResp<JSONObject>>() {
//                                override fun onSuccess(t: BaseResp<JSONObject>) {
//                                    when (type) {
//                                        "archive" -> if (id == 0) {
//                                            //跳转线索列表
//                                            val i = Intent(context, ClueListActivity::class.java)
//                                            i.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK)
//                                            i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
//                                            context.startActivity(i)
//                                        } else {
//                                            //跳转线索
//                                            val i2 = Intent(context, DefeatDetailsActivity::class.java)
//                                            i2.putExtra("tid", id)
//                                            i2.putExtra("nkey", "archive.index")
//                                            i2.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK)
//                                            i2.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
//                                            context.startActivity(i2)
//                                        }
//                                        "receive" -> {
//                                            //跳转接待
//                                            val i3 = Intent(context, PassengerReceptionActivity::class.java)
//                                            i3.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK)
//                                            i3.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
//                                            context.startActivity(i3)
//                                        }
//                                        "SalesArchiveTBA" ->{
//                                            //待分配
//                                            val i4 = Intent(context, CuesAllocationActivity::class.java)
//                                            i4.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK)
//                                            i4.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
//                                            context.startActivity(i4)
//                                        }
//                                    }
//                                }
//
//                                override fun onError(ex: ApiException) {
//
//                                }
//
//
//                            })
//
//                    //打开自定义的Activity
//                    //                Intent i = new Intent(context, MainGroupFact.class);
//                    //                i.putExtra("tongzhi", true);
//                    //                i.putExtras(bundle);
//                    //                //i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//                    //                i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
//                    //                context.startActivity(i);
//
//                }
//                JPushInterface.ACTION_RICHPUSH_CALLBACK == intent.action -> Logger.d(TAG, "[MyReceiver] 用户收到到RICH PUSH CALLBACK: " + bundle.getString(JPushInterface.EXTRA_EXTRA)!!)
//                //在这里根据 JPushInterface.EXTRA_EXTRA 的内容处理代码，比如打开新的Activity， 打开一个网页等..
//                JPushInterface.ACTION_CONNECTION_CHANGE == intent.action -> {
//                    val connected = intent.getBooleanExtra(JPushInterface.EXTRA_CONNECTION_CHANGE, false)
//                    Logger.w(TAG, "[MyReceiver]" + intent.action + " connected state change to " + connected)
//                }
//                else -> Logger.d(TAG, "[MyReceiver] Unhandled intent - " + intent.action!!)
//            }
//        } catch (e: Exception) {
//
//        }
//
//    }
//
//    //send msg to MainActivity
//    private fun processCustomMessage(context: Context, bundle: Bundle) {
//        //		if (MainActivity.isForeground) {
//        //			String message = bundle.getString(JPushInterface.EXTRA_MESSAGE);
//        //			String extras = bundle.getString(JPushInterface.EXTRA_EXTRA);
//        //			Intent msgIntent = new Intent(MainActivity.MESSAGE_RECEIVED_ACTION);
//        //			msgIntent.putExtra(MainActivity.KEY_MESSAGE, message);
//        //			if (!ExampleUtil.isEmpty(extras)) {
//        //				try {
//        //					JSONObject extraJson = new JSONObject(extras);
//        //					if (extraJson.length() > 0) {
//        //						msgIntent.putExtra(MainActivity.KEY_EXTRAS, extras);
//        //					}
//        //				} catch (JSONException e) {
//        //
//        //				}
//        //
//        //			}
//        //			LocalBroadcastManager.getInstance(context).sendBroadcast(msgIntent);
//        //		}
//    }
//
//    companion object {
//        private val TAG = "JIGUANG-Example"
//
//        // 打印所有的 intent extra 数据
//        private fun printBundle(bundle: Bundle): String {
//            val sb = StringBuilder()
//            for (key in bundle.keySet()) {
//                if (key == JPushInterface.EXTRA_NOTIFICATION_ID) {
//                    sb.append("\nkey:" + key + ", value:" + bundle.getInt(key))
//                } else if (key == JPushInterface.EXTRA_CONNECTION_CHANGE) {
//                    sb.append("\nkey:" + key + ", value:" + bundle.getBoolean(key))
//                } else if (key == JPushInterface.EXTRA_EXTRA) {
//                    if (TextUtils.isEmpty(bundle.getString(JPushInterface.EXTRA_EXTRA))) {
//                        Logger.i(TAG, "This message has no Extra data")
//                        continue
//                    }
//
//                    try {
//                        val json = JSONObject(bundle.getString(JPushInterface.EXTRA_EXTRA))
//                        val it = json.keys()
//
//                        while (it.hasNext()) {
//                            val myKey = it.next()
//                            sb.append("\nkey:" + key + ", value: [" +
//                                    myKey + " - " + json.optString(myKey) + "]")
//                        }
//                    } catch (e: JSONException) {
//                        Logger.e(TAG, "Get message extra JSON error!")
//                    }
//
//                } else {
//                    sb.append("\nkey:" + key + ", value:" + bundle.get(key))
//                }
//            }
//            return sb.toString()
//        }
//    }
//}
